1. Field
The following description relates to a memory system, and more particularly, to a memory system and its wear leveling method.
2. Description of the Related Art
Semiconductor memory devices may be configured to store data information and classified into volatile memory devices and non-volatile memory devices. Non-volatile memory devices don't lose data stored therein even when power is turned off. Since non-volatile memory devices retain data at a low power, they are commonly known and used as a storage medium for portable systems. Non-volatile memory devices may include a flash memory, a Phase change RAM (PRAM), a Ferroelectric RAM (FeRAM), a Magnetic RAM (MRAM), and the like.
A flash memory device may include a plurality of blocks (or, memory blocks), each of which has a plurality of pages. The flash memory device may perform a program operation, a read operation, and an erase operation. The program and read operations are conducted by a page unit, and the erase operation is conducted by a block unit.
In contrast with a disk apparatus, a flash memory device typically performs an erase operation before a program operation. This is because the flash memory device does not support an overwrite function. For example, data of the flash memory device is initialized into ‘1’ via an erase operation and is changed into ‘0’ via a program operation. That is, it is impossible to initialize a part of the data in a page from ‘0’ into ‘1.’ An erase operation has to be previously performed with respect to an entire block in order to initialize data from ‘0’ into ‘1.’
Each of the memory blocks in a flash memory device has a limited erase count. But, program and erase operations are able to be concentrated on a specific block or blocks of the memory based upon user patterns or data patterns. As is well known in the art, the program and erase operations may wear out the flash memory device. If a wear level increases, a long time is taken to program and erase data, and an error probability is increased. Further, in the case that a wear level becomes serious, data storing ability of unit cells may be lost completely. Thus, it is necessary to level an erase count of each block.
Flash software for managing a flash memory device may adjust degrees of wear of blocks so as to be retained uniformly, which is called wear leveling. In order to extend the life of a flash memory device, program and erase operations have to be performed uniformly with respect to the entire flash memory device. In the case that program and erase operations are focused on a specific portion of a flash memory device, the life of the specific portion may be rapidly reduced. On the other hand, if the program and erase operations are performed uniformly with respect to entire blocks of a flash memory device, the life of the memory may be extended.
In contrast with the flash memory device described above, variable resistance memories such as RRAM, FeRAM, MRAM, and the like, do not require an erase before programming. That is, variable resistance memories may support an overwrite function. Here, in the case of variable resistance memories, stored data may be discriminated according to a resistance of the memory cells. The term “overwriting” denotes that new data is directly stored at memory cells in which data was previously stored. By the overwriting manner, ‘0’ data is changed into ‘1’ data, and ‘1’ data is changed into ‘0’ data. Since a variable resistance memory such as a PRAM performs a write operation by a word unit, it may be worn out by a word unit. As a result, the present inventors have determined that a wear leveling method should take into consideration such a wear characteristic, i.e., one in which wear occurs by a word unit.